In [2]:
%matplotlib inline
import pandas as pd
import platform
import sys
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
from pylab import rcParams
rcParams['figure.figsize'] = 10, 10

In [3]:
print("Operating System " + platform.system() + " " + platform.release())
print("Python Version " + str(sys.version))
print("Pandas Version " + str(pd.__version__))
print("Numpy Version " + str(np.__version__))
print("Matplotlib Version " + str(matplotlib.__version__))


Operating System Linux 4.4.0-59-generic
Python Version 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609]
Pandas Version 0.19.2
Numpy Version 1.12.0
Matplotlib Version 2.0.0

In [4]:
import wellapplication as wa

In [5]:
wa.__version__


Out[5]:
'0.4.20'

You can download water chemistry of an entire HUC. It downloads wells and springs and major ions by default, unless specified otherwise.


In [13]:
chem = wa.WQP(16020301,'huc')


https://www.waterqualitydata.us/Result/search?mimeType=csv&zip=no&huc=16020301&siteType=Spring&siteType=Well&characteristicType=Inorganics%2C+Major%2C+Metals&characteristicType=Inorganics%2C+Major%2C+Non-metals&characteristicType=Nutrient&characteristicType=Physical&sorted=no&sampleMedia=Water

Standardize the headers and units in the results file.


In [14]:
Results = chem.massage_results()
Stations = chem.massage_stations()

In [18]:
Piv = chem.piv_chem()


/home/pi/wadev/local/lib/python2.7/site-packages/pandas/util/decorators.py:91: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  return func(*args, **kwargs)

In [24]:
Piv.reset_index(inplace=True)
Piv


Out[24]:
ParAbb index SampleId Alk CO2 CO3 Ca Cl Cond DO ... NaK PO4 Q SO4 Si TDS TSS Temp Turb pH
0 0 11NPSWRD-GRBA64-00002-GRBA0017-1964 -0 0.20000 NaN NaN NaN 47.0 3.70 401.0 NaN ... 6.0 NaN NaN 8.00 NaN 216.00 NaN NaN NaN 7.80
1 1 11NPSWRD-GRBA87-00001-GRBA0014-1987 -0 0.11000 46.0 NaN NaN 13.0 5.00 132.0 NaN ... NaN NaN NaN 3.00 16.00 78.00 NaN NaN 0.600 7.00
2 2 11NPSWRD-GRBA88-00001-GRBA0003-1988 -0 8.68000 164.0 NaN NaN 52.0 32.00 447.0 NaN ... NaN NaN NaN 13.00 27.00 254.00 NaN NaN 0.200 8.04
3 3 11NPSWRD-GRBA88-00002-GRBA0014-1988 -0 0.09000 38.0 NaN NaN 10.0 3.00 95.0 NaN ... NaN NaN NaN 2.00 12.00 56.00 NaN NaN 2.400 7.00
4 4 11NPSWRD-GRBA88-00003-GRBA0014-1988 -0 0.07000 18.0 NaN NaN 3.0 15.00 94.0 NaN ... NaN NaN NaN 1.00 9.00 59.00 NaN NaN 2.500 7.00
5 5 11NPSWRD-GRBA90-00023-GRBA0001-1990 -0 1.25000 63.0 NaN NaN 18.0 4.00 NaN NaN ... NaN NaN NaN 6.00 13.70 74.00 NaN NaN 1.400 8.50
6 6 UTAHDWQ_WQX-1989DATA-104656-8901547C 185.00000 NaN 3.0 0.0 77.0 210.00 1250.0 NaN ... NaN 0.091980 NaN 150.00 NaN 768.00 NaN NaN 3.000 7.90
7 7 UTAHDWQ_WQX-1989DATA-104657-8901546C 0.00000 NaN 2.0 0.0 69.0 110.00 797.0 NaN ... NaN 0.011000 NaN 98.00 NaN 504.00 NaN NaN 1.500 8.00
8 8 UTAHDWQ_WQX-1989DATA-104658-8901539C 181.00000 NaN 2.0 0.0 220.0 662.40 2639.0 NaN ... NaN 0.039858 NaN 200.00 NaN 1718.00 NaN NaN 0.600 8.00
9 9 UTAHDWQ_WQX-1989DATA-104659-8901538C 0.00000 NaN 4.0 0.0 70.0 105.00 683.0 NaN ... NaN 0.147168 NaN 42.00 NaN 408.00 32.0 NaN 3.600 7.80
10 10 UTAHDWQ_WQX-1989DATA-104660-8901540C 0.00000 NaN 3.0 0.0 75.0 178.50 1323.0 NaN ... NaN 0.079716 NaN 110.00 NaN 826.00 15.0 NaN 3.500 8.30
11 11 UTAHDWQ_WQX-COOP0601-168090-200103621C 100.00000 NaN 4.0 0.0 29.7 22.60 356.0 NaN ... NaN NaN NaN 24.50 NaN 236.00 NaN NaN 0.102 7.69
12 12 UTAHDWQ_WQX-NOTRIPSAMPLES-192519-200406776C 166.00000 NaN 5.0 0.0 41.3 16.50 470.0 NaN ... NaN NaN NaN 38.20 NaN 262.00 NaN NaN 8.800 7.84
13 13 UTAHDWQ_WQX-SWQ111307-211366-200707931C 159.00000 NaN 1.0 4.0 40.3 10.70 441.0 NaN ... NaN NaN NaN 67.10 NaN 250.00 NaN NaN 0.105 8.46
14 14 nwisnv.01.00300548 0.00000 254.0 25.0 NaN 93.8 39.90 645.0 NaN ... NaN NaN NaN 23.60 50.30 419.00 NaN 17.8 0.200 7.30
15 15 nwisnv.01.00500700 0.36000 218.0 54.0 NaN 67.8 15.90 474.0 NaN ... NaN NaN NaN 21.00 17.10 291.00 NaN 18.0 NaN 6.90
16 16 nwisnv.01.00500701 5.30000 197.0 39.0 NaN 51.3 6.00 403.0 NaN ... NaN NaN NaN 9.00 12.40 228.00 NaN 17.5 NaN 7.00
17 17 nwisnv.01.00500703 10.00000 205.0 7.3 NaN 51.2 22.60 412.0 NaN ... NaN NaN NaN 13.00 21.60 274.00 NaN 20.4 NaN 7.70
18 18 nwisnv.01.00500945 5.30000 NaN 11.0 0.0 47.8 5.10 387.0 NaN ... NaN NaN NaN 8.50 12.60 NaN NaN 17.2 NaN 7.50
19 19 nwisnv.01.00501134 21.00000 163.0 32.0 NaN 43.0 11.00 413.0 NaN ... NaN NaN NaN 27.00 23.90 250.00 NaN 14.8 NaN 7.00
20 20 nwisnv.01.00501466 630.00000 129.0 2.0 NaN 21.5 5.40 NaN NaN ... NaN NaN NaN 28.00 45.20 242.00 NaN 16.0 NaN 8.10
21 21 nwisnv.01.00501467 66.00000 186.0 9.2 NaN 56.4 19.30 449.0 NaN ... NaN NaN NaN 10.00 22.00 255.00 NaN 12.0 NaN 7.60
22 22 nwisnv.01.00501469 8.10000 180.0 20.0 NaN 64.4 6.70 380.0 NaN ... NaN NaN NaN 11.00 11.10 222.00 NaN 12.9 NaN 7.30
23 23 nwisnv.01.00501695 5.00000 NaN 28.0 0.0 48.3 5.50 385.0 NaN ... NaN NaN NaN 8.50 12.70 219.00 NaN 17.7 NaN 7.10
24 24 nwisnv.01.00600178 625.00000 148.0 4.3 NaN 50.8 15.90 382.0 NaN ... NaN NaN NaN 20.00 54.00 263.00 NaN 13.0 NaN 7.80
25 25 nwisnv.01.00600390 2.00000 NaN 12.0 0.0 42.9 5.80 389.0 NaN ... NaN NaN NaN 8.50 12.70 212.00 NaN 17.2 NaN 7.50
26 26 nwisnv.01.00601831 0.10000 112.0 2.2 NaN 43.9 16.80 350.0 NaN ... NaN NaN NaN 36.00 46.80 251.00 NaN 12.1 NaN 8.00
27 27 nwisnv.01.00700458 21.20000 102.0 13.0 NaN 31.6 5.33 248.0 NaN ... NaN 0.097000 2.0 2.88 15.00 128.00 NaN 12.6 NaN 6.90
28 28 nwisnv.01.00700459 2.00000 40.0 20.0 NaN 12.0 4.97 120.0 NaN ... NaN 0.068000 2.0 4.11 13.70 71.00 NaN 10.6 NaN 5.80
29 29 nwisnv.01.00700460 574.00000 14.0 13.0 NaN 4.2 0.62 36.0 NaN ... NaN 0.053000 900.0 1.38 7.85 28.00 NaN 5.6 NaN 5.00
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
57 57 nwisut.01.97201958 32.00000 131.0 8.1 0.0 28.0 17.00 325.0 NaN ... NaN 0.061320 NaN 11.00 14.00 186.00 NaN NaN NaN 7.50
58 58 nwisut.01.97201959 0.00016 174.0 54.0 0.0 55.0 19.00 420.0 NaN ... NaN NaN NaN 17.00 13.00 0.33 NaN NaN NaN 6.80
59 59 nwisut.01.97201962 0.00005 162.0 16.0 0.0 33.0 27.00 430.0 NaN ... NaN NaN NaN 13.00 16.00 236.00 NaN 16.0 NaN 7.30
60 60 nwisut.01.97302455 0.00002 303.0 12.0 0.0 36.0 100.00 1010.0 NaN ... NaN NaN NaN 98.00 46.00 628.00 NaN NaN NaN 7.70
61 61 nwisut.01.97302466 0.00003 276.0 14.0 0.0 74.0 13.00 580.0 NaN ... NaN NaN NaN 14.00 17.00 334.00 NaN 11.0 NaN 7.60
62 62 nwisut.01.97302467 0.00002 130.0 5.0 0.0 45.0 45.00 430.0 NaN ... NaN NaN NaN 19.00 17.00 0.32 NaN 14.5 NaN 7.70
63 63 nwisut.01.97302468 0.70000 189.0 7.4 0.0 47.0 25.00 475.0 NaN ... NaN NaN NaN 23.00 23.00 278.00 NaN 12.5 NaN 7.70
64 64 nwisut.01.97302469 10.00000 189.0 7.4 0.0 47.0 25.00 475.0 NaN ... NaN NaN NaN 23.00 23.00 2.21 NaN 12.5 NaN 7.70
65 65 nwisut.01.97302474 0.00000 198.0 12.0 0.0 60.0 19.00 455.0 NaN ... NaN NaN NaN 16.00 13.00 0.35 NaN 15.0 NaN 7.50
66 66 nwisut.01.97302475 0.00000 157.0 15.0 0.0 34.0 25.00 430.0 NaN ... NaN NaN NaN 13.00 30.00 228.00 NaN 16.0 NaN 7.30
67 67 nwisut.01.97503428 1.52000 299.0 29.0 0.0 34.0 94.00 900.0 NaN ... NaN 0.122640 NaN 95.00 48.00 0.85 NaN 13.0 NaN 7.30
68 68 nwisut.01.97503476 0.00005 246.0 24.0 0.0 58.0 20.00 560.0 NaN ... NaN 0.030000 NaN 19.00 16.00 0.42 NaN 12.0 NaN 7.30
69 69 nwisut.01.97503486 0.00003 154.0 9.5 0.0 42.0 35.00 400.0 NaN ... NaN 0.030660 1180.0 21.00 21.00 0.35 NaN 13.0 NaN 7.50
70 70 nwisut.01.97503488 0.70000 184.0 11.0 0.0 45.0 27.00 490.0 NaN ... NaN 0.030000 2660.0 22.00 21.00 271.00 NaN 13.0 NaN 7.50
71 71 nwisut.01.97603121 0.00000 306.0 15.0 0.0 37.0 91.00 1000.0 NaN ... NaN 0.210000 1.0 87.00 47.00 614.00 NaN 17.0 NaN 7.60
72 72 nwisut.01.97603243 3.20000 276.0 43.0 0.0 78.0 16.00 610.0 NaN ... NaN 0.000000 720.0 13.00 16.00 0.47 NaN 11.0 NaN 7.10
73 73 nwisut.01.97603246 11.00000 299.0 46.0 0.0 100.0 27.00 720.0 NaN ... NaN 0.000000 805.0 33.00 18.00 426.00 NaN 10.0 NaN 7.10
74 74 nwisut.01.97603278 0.30000 180.0 14.0 0.0 51.0 30.00 500.0 NaN ... NaN 0.030000 966.0 23.00 22.00 278.00 NaN 12.0 NaN 7.40
75 75 nwisut.01.97603362 0.00000 175.0 14.0 0.0 39.0 27.00 460.0 NaN ... NaN 0.000000 150.0 13.00 15.00 261.00 NaN 15.0 NaN 7.40
76 76 nwisut.01.97702679 0.64000 295.0 18.0 0.0 33.0 91.00 950.0 NaN ... NaN 0.210000 NaN 93.00 46.00 605.00 NaN 13.0 NaN 7.50
77 77 nwisut.01.97702698 0.50000 303.0 47.0 0.0 91.0 28.00 700.0 NaN ... NaN 0.090000 605.0 36.00 18.00 422.00 NaN 11.0 NaN 7.10
78 78 nwisut.01.97702710 17.00000 160.0 6.1 0.0 41.0 36.00 445.0 NaN ... NaN 0.060000 1110.0 15.00 18.00 248.00 NaN 13.0 NaN 7.70
79 79 nwisut.01.97702721 19.00000 180.0 11.0 0.0 47.0 30.00 480.0 NaN ... NaN 0.180000 1320.0 24.00 22.00 277.00 NaN 11.0 NaN 7.50
80 80 nwisut.01.97802485 3.10000 310.0 12.0 0.0 41.0 130.00 1100.0 NaN ... NaN 0.280000 NaN 110.00 47.00 714.00 NaN 17.0 NaN 7.70
81 81 nwisut.01.97802522 39.00000 300.0 37.0 0.0 96.0 27.00 700.0 NaN ... NaN 0.000000 665.0 30.00 18.00 419.00 NaN 11.0 NaN 7.20
82 82 nwisut.01.97802542 23.00000 150.0 9.1 0.0 41.0 36.00 450.0 NaN ... NaN 0.030000 1130.0 17.00 21.00 249.00 NaN 12.5 NaN 7.50
83 83 nwisut.01.97802565 0.70000 180.0 14.0 0.0 48.0 36.00 500.0 NaN ... NaN 0.030000 1230.0 24.00 22.00 286.00 NaN 12.0 NaN 7.40
84 84 nwisut.01.98103221 29.00000 NaN 24.0 NaN 66.0 71.00 786.0 NaN ... NaN NaN NaN 66.00 18.00 454.00 NaN 20.0 NaN 7.30
85 85 nwisut.01.98103230 0.00003 NaN 11.0 NaN 52.0 33.00 505.0 NaN ... NaN NaN NaN 23.00 22.00 0.41 NaN 27.0 NaN 7.50
86 86 nwisut.01.98103954 1.50000 NaN 24.0 NaN 66.0 71.00 750.0 NaN ... NaN NaN NaN 66.00 18.00 454.00 NaN 20.0 NaN 7.30

87 rows × 29 columns


In [25]:
pipr = wa.piper(Piv,var_col='TDS')



In [7]:
stream = wa.WQP(16020301,'huc',siteType='Stream',sampleMedia='Water',characteristicName='Specific conductance')


https://www.waterqualitydata.us/Result/search?characteristicName=Specific+conductance&mimeType=csv&zip=no&huc=16020301&siteType=Stream&characteristicType=Inorganics%2C+Major%2C+Metals&characteristicType=Inorganics%2C+Major%2C+Non-metals&characteristicType=Nutrient&characteristicType=Physical&sorted=no&sampleMedia=Water